package com.touzhijia.authority.domain.dto.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * 作者： lzw<br/>
 * 创建时间：2018-03-14 14:28 <br/>
 */
@ApiModel("更新用户")
@Data
public class UserUpdateReq implements Serializable {

    /**
     * 密码
     */
    @ApiModelProperty("密码")
    @Pattern(regexp = "[\\s\\S]*\\S+[\\s\\S]*", message = "不能是空字符")
    @Length(max = 128)
    private String password;

    /**
     * 昵称
     */
    @ApiModelProperty("昵称")
    @Pattern(regexp = "[\\s\\S]*\\S+[\\s\\S]*", message = "不能是空字符")
    @Length(max = 64)
    private String nickname;

    /**
     * 手机号
     */
    @ApiModelProperty("手机号")
    @Pattern(regexp = "1\\d{10}", message = "手机号格式不正确")
    private String telephone;

    /**
     * 邮箱
     */
    @ApiModelProperty("邮箱")
    @Email
    private String email;

    /**
     * 组织机构
     */
    @ApiModelProperty("组织机构")
    @Length(max = 512)
    private String memberOf;

    /**
     * 说明
     */
    @ApiModelProperty("说明")
    @Length(max = 512)
    private String description;

    /**
     * 帐号是否锁定，0：未锁定；1：锁定
     */
    @ApiModelProperty("帐号是否锁定，0：未锁定；1：锁定")
    @Range(min = 0, max = 1)
    private Integer locked;

    /**
     * 是否启用，0：禁用；1：启用
     */
    @ApiModelProperty("是否启用，0：禁用；1：启用")
    @Range(min = 0, max = 1)
    private Integer enabled;
}
